home *** CD-ROM | disk | FTP | other *** search
/ Scene Storm / Scene Storm - Volume 1.iso / coding / c / amiexpress / source / utils / newver / newversion.c next >
Encoding:
C/C++ Source or Header  |  1992-12-26  |  1023 b   |  60 lines

  1. #include <exec/types.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #define ACCESS_READ -2
  5. int strnicmp(char *str1,char *str2,int len);
  6. int TLock(char *str);
  7. main()
  8. {
  9.   FILE *fi,*fo;
  10.   int i=0;
  11.   char name1[200],name2[200],image[200];
  12.   strcpy(name1,"REGISTERED:Update.Dat");
  13.   strcpy(name2,"REGISTERED:Update.tmp");
  14.   if(TLock(name1))
  15.   {
  16.     if(TLock(name2))
  17.     {
  18.       DeleteFile(name2);
  19.     }
  20.     Rename(name1,name2);
  21.     fi=fopen(name2,"r"); fo=fopen(name1,"w");
  22.     while(fgets(image,80,fi)!=NULL)
  23.     {
  24.       if(!strnicmp(image,"REG:",4))
  25.       {
  26.         i++;
  27.         fprintf(fo,"%s",image);
  28.       }
  29.     }
  30.     fclose(fi);
  31.     fclose(fo);
  32.     DeleteFile(name2);
  33.     if(!i) DeleteFile(name1);
  34.   }
  35.  
  36.   exit(0);
  37. }
  38.  
  39. int strnicmp(char *str1,char *str2,int len)
  40. {
  41.   register int i;
  42.   strupr(str1);
  43.   strupr(str2);
  44.   i=0;
  45.   while(i<len)
  46.   {
  47.     if(*(str1+i)!=*(str2+i)) return(1);
  48.     i++;
  49.   }
  50.   return(0);
  51. }
  52. int TLock(char *str)
  53. {
  54.   long lock;
  55.   if(lock=Lock(str,ACCESS_READ))
  56.   {
  57.     UnLock(lock); return(1);
  58.   }
  59.   return(0);
  60. }